package com.fang.unittest;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Scanner;

public class TestDriver01 {
    public static void main(String[] args) {
        test06();
    }
    private static void test06(){
        File f = new File("D:\\CloudMusic");
        File[] file = f.listFiles(new MyFile());

        for (File fil:file
        ) {
            System.out.println(fil);
        }
    }

    private static void test05(){
        File f = new File("D:\\CloudMusic");
        File[] file = f.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                if(name.endsWith(".mp3")){
                    return true;
                }else {
                    return false;
                }
            }
        });
        for (File fil:file
             ) {
            System.out.println(fil);
        }
    }
    private static void test04(){
        File f1 = new File("c:\\java\\bin\\HelloWorld.txt");
        if(!f1.exists()){
            try {
                f1.createNewFile();
            } catch (IOException e) {
                File parentFile = f1.getParentFile();
                if(parentFile != null){
                    if(parentFile.mkdirs()){
                        try {
                            f1.createNewFile();
                        } catch (IOException ioException) {
                            System.out.println(e);
                        }
                    }
                }
            }
        }
    }
    private static void test03(){
        /*/**
         * 方法描述:输入一个路径名，遍历该文件下所有的文件信息，如果他是文件，则直接输出文件名，输入是文件夹，则
         * 则，输出文件夹下所有的文件信息
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个路径：");
        String strPath = sc.nextLine();
        File f1 = new File(strPath);
        if(f1.exists() && !f1.isHidden()){
            if(f1.isDirectory()){
                File[] f2 = f1.listFiles();
                System.out.println("目录的绝对路径："+f1.getAbsolutePath());
                for (File fil:f2
                     ) {
                    System.out.println("目录下的文件信息："+fil.getAbsolutePath());
                }
            }else {
                System.out.println("文件信息："+f1.getAbsolutePath());
            }
        }else {
            System.out.println("该文件不存在或者该文件是一个隐藏文件");
        }
    }
    private static void test01(){
        File f1 = new File("d:/xxx.txt");
        System.out.println(f1.exists());
        System.out.println(f1.getAbsoluteFile());
        System.out.println(f1.canRead());
        System.out.println(f1.canWrite());
        System.out.println(f1.isDirectory());
        System.out.println(f1.length());
    }
    private static void test02(){
        File f1 = new File("d:"+File.separator+"HelloWorld.txt");

        if(!f1.exists()){
            try {
                f1.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
